<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Comun: Fichero Fuente common_tinyxml.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Comun
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generado por Doxygen 1.8.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
      <li><a href="pages.html"><span>Páginas&#160;relacionadas</span></a></li>
      <li><a href="annotated.html"><span>Clases</span></a></li>
      <li class="current"><a href="files.html"><span>Archivos</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>Lista&#160;de&#160;archivos</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Clases</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Enumeraciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Páginas</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">common_tinyxml.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">www.sourceforge.net/projects/tinyxml</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">Original code by Lee Thomason (www.grinninglizard.com)</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">This software is provided &#39;as-is&#39;, without any express or implied</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">warranty. In no event will the authors be held liable for any</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">damages arising from the use of this software.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">Permission is granted to anyone to use this software for any</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">purpose, including commercial applications, and to alter it and</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">redistribute it freely, subject to the following restrictions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">1. The origin of this software must not be misrepresented; you must</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">not claim that you wrote the original software. If you use this</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">software in a product, an acknowledgment in the product documentation</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">would be appreciated but is not required.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">2. Altered source versions must be plainly marked as such, and</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">must not be misrepresented as being the original software.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">3. This notice may not be removed or altered from any source</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">distribution.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef TINYXML_INCLUDED</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TINYXML_INCLUDED</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning( push )</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4530 )</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4786 )</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;assert.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// Help out windows:</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#if defined( _DEBUG ) &amp;&amp; !defined( DEBUG )</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DEBUG</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #include &lt;string&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">        #include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">        #include &lt;sstream&gt;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">        #define TIXML_STRING            std::string</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #include &quot;common_tinystr.h&quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">        #define TIXML_STRING            TiXmlString</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// Deprecated library function hell. Compilers want to use the</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// new safe versions. This probably doesn&#39;t fully address the problem,</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// but it gets closer. There are too many compilers for me to fully</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// test. If you get compilation troubles, undefine TIXML_SAFE</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define TIXML_SAFE</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#ifdef TIXML_SAFE</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #if defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1400 )</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span>                <span class="comment">// Microsoft visual studio, version 2005 and higher.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">                #define TIXML_SNPRINTF _snprintf_s</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span><span class="preprocessor">                #define TIXML_SSCANF   sscanf_s</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #elif defined(_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1200 )</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span>                <span class="comment">// Microsoft visual studio, version 6 and higher.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                <span class="comment">//#pragma message( &quot;Using _sn* functions.&quot; )</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">                #define TIXML_SNPRINTF _snprintf</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">                #define TIXML_SSCANF   sscanf</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #elif defined(__GNUC__) &amp;&amp; (__GNUC__ &gt;= 3 )</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span>                <span class="comment">// GCC version 3 and higher.s</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                <span class="comment">//#warning( &quot;Using sn* functions.&quot; )</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">                #define TIXML_SNPRINTF snprintf</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"></span><span class="preprocessor">                #define TIXML_SSCANF   sscanf</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #else</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor"></span><span class="preprocessor">                #define TIXML_SNPRINTF snprintf</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor"></span><span class="preprocessor">                #define TIXML_SSCANF   sscanf</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span><span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  </span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlComment.html">TiXmlComment</a>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlText.html">TiXmlText</a>;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>;</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MAJOR_VERSION = 2;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_MINOR_VERSION = 6;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">const</span> <span class="keywordtype">int</span> TIXML_PATCH_VERSION = 2;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/*      Internal structure for tracking location of items </span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">        in the XML file.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="structTiXmlCursor.html">   99</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structTiXmlCursor.html">TiXmlCursor</a></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;{</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <a class="code" href="structTiXmlCursor.html">TiXmlCursor</a>()           { Clear(); }</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <span class="keywordtype">void</span> Clear()            { row = col = -1; }</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordtype">int</span> row;        <span class="comment">// 0 based.</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keywordtype">int</span> col;        <span class="comment">// 0 based.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;};</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html">  128</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;{</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>() {}</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0">  134</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a07baecb52dd7d8716ae2a48ad0956ee0" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> )                 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad">  136</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#aa0ade4f27087447e93974e975c3246ad" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; <span class="comment">/*doc*/</span> )                  { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff">  139</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#af6c6178ffa517bbdba95d70490875fff" title="Visit an element.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; <span class="comment">/*element*/</span>, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="comment">/*firstAttribute*/</span> )    { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c">  141</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#aec2b1f8116226d52f3a1b95dafd3a32c" title="Visit an element.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; <span class="comment">/*element*/</span> )               { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19">  144</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#afad71c71ce6473fb9b4b64cd92de4a19" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; <span class="comment">/*declaration*/</span> )   { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5">  146</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a399b8ebca5cd14664974a32d2ce029e5" title="Visit a text node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; <span class="comment">/*text*/</span> )                                 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2">  148</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a53a60e7a528627b31af3161972cc7fa2" title="Visit a comment node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; <span class="comment">/*comment*/</span> )                   { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28">  150</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlVisitor.html#a7e284d607d275c51dac1adb58159ce28" title="Visit an unknown node.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; <span class="comment">/*unknown*/</span> )                   { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;};</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">// Only used by Attribute::Query functions</span></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">enum</span> </div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{ </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        TIXML_SUCCESS,</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        TIXML_NO_ATTRIBUTE,</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        TIXML_WRONG_TYPE</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;};</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">// Used by the parsing routines.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">enum</span> TiXmlEncoding</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;{</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        TIXML_ENCODING_UNKNOWN,</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        TIXML_ENCODING_UTF8,</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        TIXML_ENCODING_LEGACY</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;};</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">const</span> TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="classTiXmlBase.html">  194</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlBase.html">TiXmlBase</a></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;{</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <a class="code" href="classTiXmlBase.html">TiXmlBase</a>()     :       <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>(0)             {}</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlBase.html">TiXmlBase</a>()                    {}</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a0de56b3f2ef14c65091a3b916437b512">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">  221</a></span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a0f799ec645bfb8d8a969e83478f379c1">SetCondenseWhiteSpace</a>( <span class="keywordtype">bool</span> condense )              { condenseWhiteSpace = condense; }</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438">  224</a></span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlBase.html#ad4b1472531c647a25b1840a87ae42438" title="Return the current white space setting.">IsWhiteSpaceCondensed</a>()                                             { <span class="keywordflow">return</span> condenseWhiteSpace; }</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">  244</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#a024bceb070188df92c2a8d8852dd0853">Row</a>()<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> location.row + 1; }</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003">  245</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlBase.html#ab54bfb9b70fe6dd276e7b279cab7f003" title="See Row()">Column</a>()<span class="keyword"> const              </span>{ <span class="keywordflow">return</span> location.col + 1; }    </div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d">  247</a></span>&#160;        <span class="keywordtype">void</span>  <a class="code" href="classTiXmlBase.html#ac6b3e0f790930d4970ec30764e937b5d" title="Set a pointer to arbitrary user data.">SetUserData</a>( <span class="keywordtype">void</span>* user )                 { <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a> = user; }    </div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17">  248</a></span>&#160;        <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#a6559a530ca6763fc301a14d77ed28c17" title="Get a pointer to arbitrary user data.">GetUserData</a>()                                             { <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>; }    </div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4">  249</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code" href="classTiXmlBase.html#ad0120210e4680ef2088601753ce0ede4" title="Get a pointer to arbitrary user data.">GetUserData</a>()<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>; }    </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="comment">// Table that returs, for a given lead byte, the total number of bytes</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="comment">// in the UTF-8 sequence.</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> utf8ByteTable[256];</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#a789ad2f06f93d52bdb5570b2f3670289">Parse</a>(      <span class="keyword">const</span> <span class="keywordtype">char</span>* p, </div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;                                                                <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, </div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                                                                TiXmlEncoding encoding <span class="comment">/*= TIXML_ENCODING_UNKNOWN */</span> ) = 0;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlBase.html#a32ed202562b58de64c7d799ca3c9db98">EncodeString</a>( <span class="keyword">const</span> TIXML_STRING&amp; str, TIXML_STRING* out );</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keyword">enum</span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        {</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;                TIXML_NO_ERROR = 0,</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;                TIXML_ERROR,</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                TIXML_ERROR_OPENING_FILE,</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;                TIXML_ERROR_PARSING_ELEMENT,</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                TIXML_ERROR_READING_ELEMENT_VALUE,</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                TIXML_ERROR_READING_ATTRIBUTES,</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;                TIXML_ERROR_PARSING_EMPTY,</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                TIXML_ERROR_READING_END_TAG,</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                TIXML_ERROR_PARSING_UNKNOWN,</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;                TIXML_ERROR_PARSING_COMMENT,</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                TIXML_ERROR_PARSING_DECLARATION,</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                TIXML_ERROR_DOCUMENT_EMPTY,</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                TIXML_ERROR_EMBEDDED_NULL,</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                TIXML_ERROR_PARSING_CDATA,</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;                TIXML_ERROR_DOCUMENT_TOP_ONLY,</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                TIXML_ERROR_STRING_COUNT</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        };</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* SkipWhiteSpace( <span class="keyword">const</span> <span class="keywordtype">char</span>*, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">char</span> c )               </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        { </div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                <span class="keywordflow">return</span> ( isspace( (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>) c ) || c == <span class="charliteral">&#39;\n&#39;</span> || c == <span class="charliteral">&#39;\r&#39;</span> ); </div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        }</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> IsWhiteSpace( <span class="keywordtype">int</span> c )</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        {</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                <span class="keywordflow">if</span> ( c &lt; 256 )</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                        <span class="keywordflow">return</span> IsWhiteSpace( (<span class="keywordtype">char</span>) c );</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;   <span class="comment">// Again, only truly correct for English/Latin...but usually works.</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        }</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keywordtype">bool</span>     StreamWhiteSpace( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> StreamTo( std::istream * in, <span class="keywordtype">int</span> character, TIXML_STRING * tag );</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        <span class="comment">/*      Reads an XML name into the string provided. Returns</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="comment">                a pointer just past the last character of the name,</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="comment">                or 0 if the function has an error.</span></div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadName( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, TIXML_STRING* name, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="comment">/*      Reads text. Returns a pointer past the given end tag.</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">                Wickedly complex options, but it keeps the (sensitive) code in one place.</span></div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadText(    <span class="keyword">const</span> <span class="keywordtype">char</span>* in,                         <span class="comment">// where to start</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                                                                        TIXML_STRING* text,                     <span class="comment">// the string read</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                                                                        <span class="keywordtype">bool</span> ignoreWhiteSpace,          <span class="comment">// whether to keep the white space</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;                                                                        <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag,                     <span class="comment">// what ends this text</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                                                                        <span class="keywordtype">bool</span> ignoreCase,                        <span class="comment">// whether to ignore case in the end tag</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                                                                        TiXmlEncoding encoding );       <span class="comment">// the current encoding</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="comment">// If an entity has been found, transform it into a character.</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetEntity( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span>* length, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        <span class="comment">// Get a character, while interpreting entities.</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        <span class="comment">// The length can be from 0 to 4 bytes.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetChar( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <span class="keywordtype">char</span>* _value, <span class="keywordtype">int</span>* length, TiXmlEncoding encoding )</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        {</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;                assert( p );</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;                <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                {</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                        *length = utf8ByteTable[ *((<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)p) ];</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                        assert( *length &gt;= 0 &amp;&amp; *length &lt; 5 );</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                }</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                {</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                        *length = 1;</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;                }</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;                <span class="keywordflow">if</span> ( *length == 1 )</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                {</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;                        <span class="keywordflow">if</span> ( *p == <span class="charliteral">&#39;&amp;&#39;</span> )</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                                <span class="keywordflow">return</span> GetEntity( p, _value, length, encoding );</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                        *_value = *p;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                        <span class="keywordflow">return</span> p+1;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                }</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( *length )</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                {</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                        <span class="comment">//strncpy( _value, p, *length );        // lots of compilers don&#39;t like this function (unsafe),</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                                                                                                <span class="comment">// and the null terminator isn&#39;t needed</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                        <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; p[i] &amp;&amp; i&lt;*length; ++i ) {</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                                _value[i] = p[i];</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                        }</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                        <span class="keywordflow">return</span> p + (*length);</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                }</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                {</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                        <span class="comment">// Not valid text.</span></div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                }</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        }</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="comment">// Return true if the next characters in the stream are any of the endTag sequences.</span></div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        <span class="comment">// Ignore case only works for english, and should only be relied on when comparing</span></div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="comment">// to English words: StringEqual( p, &quot;version&quot;, true ) is fine.</span></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> StringEqual(        <span class="keyword">const</span> <span class="keywordtype">char</span>* p,</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;                                                                <span class="keyword">const</span> <span class="keywordtype">char</span>* endTag,</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;                                                                <span class="keywordtype">bool</span> ignoreCase,</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;                                                                TiXmlEncoding encoding );</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* errorString[ TIXML_ERROR_STRING_COUNT ];</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        <a class="code" href="structTiXmlCursor.html">TiXmlCursor</a> location;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c">  376</a></span>&#160;        <span class="keywordtype">void</span>*                   <a class="code" href="classTiXmlBase.html#ab242c01590191f644569fa89a080d97c" title="Field containing a generic user pointer.">userData</a>;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        </div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        <span class="comment">// None of these methods are reliable for any language except English.</span></div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        <span class="comment">// Good for approximation, not great for accuracy.</span></div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlpha( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">int</span> IsAlphaNum( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> anyByte, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">int</span> ToLower( <span class="keywordtype">int</span> v, TiXmlEncoding encoding )</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        {</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                <span class="keywordflow">if</span> ( encoding == TIXML_ENCODING_UTF8 )</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                {</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                        <span class="keywordflow">if</span> ( v &lt; 128 ) <span class="keywordflow">return</span> tolower( v );</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;                        <span class="keywordflow">return</span> v;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                }</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;                {</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                        <span class="keywordflow">return</span> tolower( v );</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;                }</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        }</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> ConvertUTF32ToUTF8( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> input, <span class="keywordtype">char</span>* output, <span class="keywordtype">int</span>* length );</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <a class="code" href="classTiXmlBase.html">TiXmlBase</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; );                          <span class="comment">// not implemented.</span></div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a>&amp; base );        <span class="comment">// not allowed.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        <span class="keyword">struct </span>Entity</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        {</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span>*     str;</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    strLength;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;                <span class="keywordtype">char</span>                chr;</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        };</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <span class="keyword">enum</span></div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        {</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                NUM_ENTITY = 5,</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;                MAX_ENTITY_LENGTH = 6</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        };</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        <span class="keyword">static</span> Entity entity[ NUM_ENTITY ];</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> condenseWhiteSpace;</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;};</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
<div class="line"><a name="l00423"></a><span class="lineno"><a class="code" href="classTiXmlNode.html">  423</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a></div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;{</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL    </span></div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            <span class="keyword">friend</span> std::istream&amp; operator &gt;&gt; (std::istream&amp; in, <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            <span class="keyword">friend</span> std::ostream&amp; operator&lt;&lt; (std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base);</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;                <span class="keyword">friend</span> std::string&amp; operator&lt;&lt; (std::string&amp; out, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base );</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">  462</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        {</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;                TINYXML_DOCUMENT,</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;                TINYXML_ELEMENT,</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                TINYXML_COMMENT,</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;                TINYXML_UNKNOWN,</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;                TINYXML_TEXT,</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                TINYXML_DECLARATION,</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;                TINYXML_TYPECOUNT</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        };</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlNode.html">TiXmlNode</a>();</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">  487</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlNode.html#a77943eb90d12c2892b1337a9f5918b41">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value.c_str (); }</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keyword">const</span> std::string&amp; ValueStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        <span class="keyword">const</span> TIXML_STRING&amp; ValueTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
<div class="line"><a name="l00508"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">  508</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * _value) { value = _value;}</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( <span class="keyword">const</span> std::string&amp; _value )      { value = _value; }</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlNode.html#a708e7f953df61d4d2d12f73171550a4b" title="Delete all the children of this node. Does not affect &#39;this&#39;.">Clear</a>();</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div>
<div class="line"><a name="l00519"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e">  519</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e" title="One step up the DOM.">Parent</a>()                                                     { <span class="keywordflow">return</span> parent; }</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ab643043132ffd794f8602685d34a982e" title="One step up the DOM.">Parent</a>()<span class="keyword"> const                         </span>{ <span class="keywordflow">return</span> parent; }</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div>
<div class="line"><a name="l00522"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0">  522</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>()<span class="keyword">   const           </span>{ <span class="keywordflow">return</span> firstChild; }  </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>()                                         { <span class="keywordflow">return</span> firstChild; }</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;                        </div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div>
<div class="line"><a name="l00526"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554">  526</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#abc8bf32be6419ec453a731868de19554" title="The first child of this node with the matching &#39;value&#39;. Will be null if none found.">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                <span class="comment">// Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe)</span></div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;                <span class="comment">// call the method, cast the return back to non-const.</span></div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span> ((<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChild( _value ));</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        }</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild()<span class="keyword"> const      </span>{ <span class="keywordflow">return</span> lastChild; }           </div>
<div class="line"><a name="l00532"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031">  532</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a6432d2b2495f6caf9cb4278df706a031" title="The last child of this node. Will be null if there are no children.">LastChild</a>()  { <span class="keywordflow">return</span> lastChild; }</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;        </div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;                 </div>
<div class="line"><a name="l00535"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d">  535</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#abad5bf1059c48127b958711ef89e8e5d" title="The last child of this node matching &#39;value&#39;. Will be null if there are no children.">LastChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span> ((<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;LastChild( _value ));</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;        }</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const  </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a> (_value.c_str ());    }       </div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )                              {       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a44c8eee26bbe2d1b2762038df9dde2f0" title="The first child of this node. Will be null if there are no children.">FirstChild</a> (_value.c_str ());    }       </div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const   </span>{       <span class="keywordflow">return</span> LastChild (_value.c_str ());     }       </div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* LastChild( <span class="keyword">const</span> std::string&amp; _value )                               {       <span class="keywordflow">return</span> LastChild (_value.c_str ());     }       </div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) {</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;IterateChildren( previous ) );</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        }</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) {</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;IterateChildren( _value, previous ) );</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        }</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous )<span class="keyword"> const  </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a> (_value.c_str (), previous);     }       </div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* previous ) {    <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#aaef7ac3978c4bb1cc8a24ffae7bced75">IterateChildren</a> (_value.c_str (), previous);     }       </div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af287a913ce46d8dbf7ef24fec69bbaf0">InsertEndChild</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );</div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a1a881212554b759865f6cac79a851d38">LinkEndChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* addThis );</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a71e54e393336382bc9875f64aab5cb15">InsertBeforeChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* beforeThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a274db3292218202805c093f66a964cb5">InsertAfterChild</a>(  <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* afterThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; addThis );</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a543208c2c801c84a213529541e904b9f">ReplaceChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* replaceThis, <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; withThis );</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#ae19d8510efc90596552f4feeac9a8fbf" title="Delete a child of this node.">RemoveChild</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* removeThis );</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
<div class="line"><a name="l00614"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10">  614</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>()<span class="keyword"> const                        </span>{ <span class="keywordflow">return</span> prev; }</div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>()                                            { <span class="keywordflow">return</span> prev; }</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_prev ) {</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;PreviousSibling( _prev ) );</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        }</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const     </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a> (_value.c_str ());       }       </div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a>( <span class="keyword">const</span> std::string&amp; _value )                         {       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ac2cd892768726270e511b2ab32de4d10" title="Navigate to a sibling node.">PreviousSibling</a> (_value.c_str ());       }       </div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const          </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a> (_value.c_str ());   }       </div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> std::string&amp; _value)                                      {       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a> (_value.c_str ());   }       </div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00631"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e">  631</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>()<span class="keyword"> const                            </span>{ <span class="keywordflow">return</span> next; }</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>()                                                        { <span class="keywordflow">return</span> next; }</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#af854baeba384f5fe9859f5aee03b548e" title="Navigate to a sibling node.">NextSibling</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _next ) {</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSibling( _next ) );</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        }</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>() {</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSiblingElement() );</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        }</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *_next ) {</div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;NextSiblingElement( _next ) );</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;        }</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value)<span class="keyword"> const        </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a> (_value.c_str ());    }       </div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a>( <span class="keyword">const</span> std::string&amp; _value)                            {       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#a7667217e269e0da01d1f82aee94d1a3d">NextSiblingElement</a> (_value.c_str ());    }       </div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>() {</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChildElement() );</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        }</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _value ) {</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;FirstChildElement( _value ) );</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        }</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const        </span>{       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a> (_value.c_str ());     }       </div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )                            {       <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a> (_value.c_str ());     }       </div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00684"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">  684</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlNode.html#a57b99d5c97d67a42b9752f5210a1ba5e">Type</a>()<span class="keyword"> const        </span>{ <span class="keywordflow">return</span> type; }</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#aa66f4ebcd175204a168ed7c2d7b43071">GetDocument</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <a class="code" href="classTiXmlNode.html#aa66f4ebcd175204a168ed7c2d7b43071">GetDocument</a>() {</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;GetDocument() );</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        }</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;</div>
<div class="line"><a name="l00695"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3">  695</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#aeed21ad30630ef6e7faf096127edc9f3" title="Returns true if this node has no children.">NoChildren</a>()<span class="keyword"> const                                         </span>{ <span class="keywordflow">return</span> !firstChild; }</div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08">  697</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*    <a class="code" href="classTiXmlNode.html#a8a4cda4b15c29f64cff419309aebed08" title="Cast to a more defined type. Will return null if not of the requested type.">ToDocument</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00698"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c">  698</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>*     <a class="code" href="classTiXmlNode.html#a72abed96dc9667ab9e0a2a275301bb1c" title="Cast to a more defined type. Will return null if not of the requested type.">ToElement</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00699"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574">  699</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>*     <a class="code" href="classTiXmlNode.html#aa0a5086f9eaee910bbfdc7f975e26574" title="Cast to a more defined type. Will return null if not of the requested type.">ToComment</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00700"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2">  700</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>*     <a class="code" href="classTiXmlNode.html#afd7205cf31d7a376929f8a36930627a2" title="Cast to a more defined type. Will return null if not of the requested type.">ToUnknown</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00701"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69">  701</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>*        <a class="code" href="classTiXmlNode.html#a95a46a52c525992d6b4ee08beb14cd69" title="Cast to a more defined type. Will return null if not of the requested type.">ToText</a>()<span class="keyword">        const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00702"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72">  702</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlNode.html#a9f43e6984fc7d4afd6eb32714c6b7b72" title="Cast to a more defined type. Will return null if not of the requested type.">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div>
<div class="line"><a name="l00704"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae">  704</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*          <a class="code" href="classTiXmlNode.html#a6a4c8ac28ee7a745d059db6691e03bae" title="Cast to a more defined type. Will return null if not of the requested type.">ToDocument</a>()    { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00705"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc">  705</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>*           <a class="code" href="classTiXmlNode.html#aa65d000223187d22a4dcebd7479e9ebc" title="Cast to a more defined type. Will return null if not of the requested type.">ToElement</a>()         { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00706"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849">  706</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>*           <a class="code" href="classTiXmlNode.html#a383e06a0787f7063953934867990f849" title="Cast to a more defined type. Will return null if not of the requested type.">ToComment</a>()     { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00707"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d">  707</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>*           <a class="code" href="classTiXmlNode.html#a06de5af852668c7e4af0d09c205f0b0d" title="Cast to a more defined type. Will return null if not of the requested type.">ToUnknown</a>()         { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00708"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03">  708</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>*                  <a class="code" href="classTiXmlNode.html#a3ddfbcac78fbea041fad57e5c6d60a03" title="Cast to a more defined type. Will return null if not of the requested type.">ToText</a>()        { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00709"></a><span class="lineno"><a class="code" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df">  709</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>*       <a class="code" href="classTiXmlNode.html#a4027136ca820ff4a636b607231b6a6df" title="Cast to a more defined type. Will return null if not of the requested type.">ToDeclaration</a>() { <span class="keywordflow">return</span> 0; } </div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlNode.html#a4508cc3a2d7a98e96a54cc09c37a78a4">Clone</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlNode.html#acc0f88b7462c6cb73809d410a4f5bb86">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;</div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a> _type );</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        <span class="comment">// Copy to the allocated object. Shared functionality between Clone, Copy constructor,</span></div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        <span class="comment">// and the assignment operator.</span></div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor"></span>            <span class="comment">// The real work of the input operator.</span></div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream* in, TIXML_STRING* tag ) = 0;</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        <span class="comment">// Figure out what is at *p, and parse it. Returns null if it is not an xml node.</span></div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* Identify( <span class="keyword">const</span> <span class="keywordtype">char</span>* start, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>*              parent;</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;        <a class="code" href="classTiXmlNode.html#a836eded4920ab9e9ef28496f48cd95a2">NodeType</a>                type;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>*              firstChild;</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>*              lastChild;</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;        TIXML_STRING    value;</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>*              prev;</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>*              next;</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; );                          <span class="comment">// not implemented.</span></div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>&amp; base );        <span class="comment">// not allowed.</span></div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;};</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div>
<div class="line"><a name="l00779"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html">  779</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlBase.html">TiXmlBase</a></div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;{</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>;</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1">  785</a></span>&#160;        <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>() : <a class="code" href="classTiXmlBase.html">TiXmlBase</a>()</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        {</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;                document = 0;</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;                prev = next = 0;</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        }</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>( <span class="keyword">const</span> std::string&amp; _name, <span class="keyword">const</span> std::string&amp; _value )</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        {</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;                name = _name;</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;                value = _value;</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;                document = 0;</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                prev = next = 0;</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        }</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00803"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#a759d0b76fb8fcf765ecab243bc14f05e">  803</a></span>&#160;        <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * _name, <span class="keyword">const</span> <span class="keywordtype">char</span> * _value )</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        {</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                name = _name;</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;                value = _value;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                document = 0;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                prev = next = 0;</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;        }</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
<div class="line"><a name="l00811"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d">  811</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>*             <a class="code" href="classTiXmlAttribute.html#a298a57287d305904ba6bd96ae6f78d3d" title="Return the name of this attribute.">Name</a>()<span class="keyword">  const           </span>{ <span class="keywordflow">return</span> name.c_str(); }                </div>
<div class="line"><a name="l00812"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3">  812</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>*             <a class="code" href="classTiXmlAttribute.html#a0f874490eac8ca00ee0070765d0e97e3" title="Return the value of this attribute.">Value</a>()<span class="keyword"> const           </span>{ <span class="keywordflow">return</span> value.c_str(); }               </div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> std::string&amp; ValueStr()<span class="keyword"> const     </span>{ <span class="keywordflow">return</span> value; }                               </div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<span class="preprocessor"></span>        <span class="keywordtype">int</span>                             <a class="code" href="classTiXmlAttribute.html#aa1a20ad59dc7e89a0ab265396360d50f" title="Return the value of this attribute, converted to an integer.">IntValue</a>() <span class="keyword">const</span>;                                                                       </div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;        <span class="keywordtype">double</span>                  <a class="code" href="classTiXmlAttribute.html#a2880ddef53fc7522c99535273954d230" title="Return the value of this attribute, converted to a double.">DoubleValue</a>() <span class="keyword">const</span>;                                                            </div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;        <span class="comment">// Get the tinyxml string representation</span></div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;        <span class="keyword">const</span> TIXML_STRING&amp; NameTStr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#ad6c93088ee21af41a107931223339344">QueryIntValue</a>( <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlAttribute.html#ac87b2a8489906a5d7aa2875f20be3513" title="QueryDoubleValue examines the value string. See QueryIntValue().">QueryDoubleValue</a>( <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;</div>
<div class="line"><a name="l00835"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99">  835</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99" title="Set the name of this attribute.">SetName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name )       { name = _name; }                               </div>
<div class="line"><a name="l00836"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0">  836</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0" title="Set the value.">SetValue</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value )     { value = _value; }                             </div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a7e065df640116a62ea4f4b7da5449cc8" title="Set the value from an integer.">SetIntValue</a>( <span class="keywordtype">int</span> _value );                                                                         </div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a0316da31373496c4368ad549bf711394" title="Set the value from a double.">SetDoubleValue</a>( <span class="keywordtype">double</span> _value );                                                           </div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#ab7fa3d21ff8d7c5764cf9af15b667a99" title="Set the name of this attribute.">SetName</a>( <span class="keyword">const</span> std::string&amp; _name )        { name = _name; }       </div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#a2dae44178f668b3cb48101be4f2236a0" title="Set the value.">SetValue</a>( <span class="keyword">const</span> std::string&amp; _value )      { value = _value; }</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a776478980776a024f7c2846eec640f65" title="Get the next sibling attribute in the DOM. Returns null at end.">Next</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a776478980776a024f7c2846eec640f65" title="Get the next sibling attribute in the DOM. Returns null at end.">Next</a>() {</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;Next() ); </div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;        }</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a54a5f8730c7b02b9a41b74e12e27fe86" title="Get the previous sibling attribute in the DOM. Returns null at beginning.">Previous</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlAttribute.html#a54a5f8730c7b02b9a41b74e12e27fe86" title="Get the previous sibling attribute in the DOM. Returns null at beginning.">Previous</a>() {</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="keyword">&gt;</span>( (<span class="keyword">const_cast&lt;</span> <span class="keyword">const </span><a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <span class="keyword">&gt;</span>(<span class="keyword">this</span>))-&gt;Previous() ); </div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        }</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        <span class="keywordtype">bool</span> operator==( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rhs.name == name; }</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;        <span class="keywordtype">bool</span> operator&lt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword">      const </span>{ <span class="keywordflow">return</span> name &lt; rhs.name; }</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;        <span class="keywordtype">bool</span> operator&gt;( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; rhs )<span class="keyword">  const </span>{ <span class="keywordflow">return</span> name &gt; rhs.name; }</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        <span class="comment">/*      Attribute parsing starts: first letter of the name</span></div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="comment">                                                 returns: the next char after the value end quote</span></div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;        <span class="comment">// Prints this Attribute to a FILE stream.</span></div>
<div class="line"><a name="l00870"></a><span class="lineno"><a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">  870</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;                <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">Print</a>( cfile, depth, 0 );</div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;        }</div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlAttribute.html#acc04956c1d5c4c31fe74f7a7528d109a">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        <span class="comment">// [internal use]</span></div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;        <span class="comment">// Set the document pointer so the attribute can report errors.</span></div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;        <span class="keywordtype">void</span> SetDocument( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* doc )  { document = doc; }</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        <a class="code" href="classTiXmlAttribute.html#a9cfa3c8179873fd485d83003b114f8e1" title="Construct an empty attribute.">TiXmlAttribute</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; );                                <span class="comment">// not implemented.</span></div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;        <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>&amp; base );   <span class="comment">// not allowed.</span></div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;        <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*  document;       <span class="comment">// A pointer back to a document, for error reporting.</span></div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;        TIXML_STRING name;</div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        TIXML_STRING value;</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* prev;</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* next;</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;};</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;<span class="comment">/*      A class used to manage a group of attributes.</span></div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;<span class="comment">        It is only used internally, both by the ELEMENT and the DECLARATION.</span></div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;<span class="comment">        </span></div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;<span class="comment">        The set can be changed transparent to the Element and Declaration</span></div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;<span class="comment">        classes that use it, but NOT transparent to the Attribute</span></div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="comment">        which has to implement a next() and previous() method. Which makes</span></div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="comment">        it a bit problematic and prevents the use of STL.</span></div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="comment">        This version is implemented with circular lists because:</span></div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="comment">                - I like circular lists</span></div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;<span class="comment">                - it demonstrates some independence from the (typical) doubly linked list.</span></div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00903"></a><span class="lineno"><a class="code" href="classTiXmlAttributeSet.html">  903</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a></div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;{</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;        <a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>();</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;        ~<a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>();</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;        <span class="keywordtype">void</span> Add( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;        <span class="keywordtype">void</span> Remove( <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* attribute );</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()<span class="keyword">   const   </span>{ <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* First()                                 { <span class="keywordflow">return</span> ( sentinel.next == &amp;sentinel ) ? 0 : sentinel.next; }</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last()<span class="keyword"> const              </span>{ <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Last()                                  { <span class="keywordflow">return</span> ( sentinel.prev == &amp;sentinel ) ? 0 : sentinel.prev; }</div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* FindOrCreate( <span class="keyword">const</span> <span class="keywordtype">char</span>* _name );</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;<span class="preprocessor">#       ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="preprocessor"></span>        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* Find( <span class="keyword">const</span> std::string&amp; _name ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* FindOrCreate( <span class="keyword">const</span> std::string&amp; _name );</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;<span class="preprocessor">#       endif</span></div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;        <span class="comment">//*ME:  Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),</span></div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;        <span class="comment">//*ME:  this class must be also use a hidden/disabled copy-constructor !!!</span></div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>&amp; );  <span class="comment">// not allowed</span></div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;        <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a>&amp; );     <span class="comment">// not allowed (as TiXmlAttribute)</span></div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a> sentinel;</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;};</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;</div>
<div class="line"><a name="l00940"></a><span class="lineno"><a class="code" href="classTiXmlElement.html">  940</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;{</div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;        <a class="code" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60" title="Construct an element.">TiXmlElement</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * in_value);</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;        <a class="code" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60" title="Construct an element.">TiXmlElement</a>( <span class="keyword">const</span> std::string&amp; _value );</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;        <a class="code" href="classTiXmlElement.html#a01bc3ab372d35da08efcbbe65ad90c60" title="Construct an element.">TiXmlElement</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; );</div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;</div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; base );</div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlElement.html">TiXmlElement</a>();</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#ae48df644f890ab86fa19839ac401f00d" title="QueryUnsignedAttribute examines the attribute - see QueryIntAttribute().">QueryUnsignedAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#af4a1d3f88c28eb0f3115dc39ebd83fff">QueryBoolAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">bool</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7" title="QueryDoubleAttribute examines the attribute - see QueryIntAttribute().">QueryDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00996"></a><span class="lineno"><a class="code" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be">  996</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#aa04d3af11601ef5a5f88295203a843be" title="QueryFloatAttribute examines the attribute - see QueryIntAttribute().">QueryFloatAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">float</span>* _value )<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;                <span class="keywordtype">double</span> d;</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;                <span class="keywordtype">int</span> result = <a class="code" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7" title="QueryDoubleAttribute examines the attribute - see QueryIntAttribute().">QueryDoubleAttribute</a>( name, &amp;d );</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;                <span class="keywordflow">if</span> ( result == TIXML_SUCCESS ) {</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;                        *_value = (float)d;</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;                }</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;                <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;        }</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;        <span class="keywordtype">int</span> QueryStringAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, std::string* _value )<span class="keyword"> const </span>{</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span>* cstr = <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( name );</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;                <span class="keywordflow">if</span> ( cstr ) {</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;                        *_value = std::string( cstr );</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;                        <span class="keywordflow">return</span> TIXML_SUCCESS;</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;                }</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;                <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;        }</div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;        <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt; <span class="keywordtype">int</span> QueryValueAttribute( <span class="keyword">const</span> std::string&amp; name, T* outValue )<span class="keyword"> const</span></div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;                <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* node = attributeSet.Find( name );</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;                <span class="keywordflow">if</span> ( !node )</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;                        <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;                std::stringstream sstream( node-&gt;ValueStr() );</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;                sstream &gt;&gt; *outValue;</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;                <span class="keywordflow">if</span> ( !sstream.fail() )</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;                        <span class="keywordflow">return</span> TIXML_SUCCESS;</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;                <span class="keywordflow">return</span> TIXML_WRONG_TYPE;</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;        }</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;        <span class="keywordtype">int</span> QueryValueAttribute( <span class="keyword">const</span> std::string&amp; name, std::string* outValue )<span class="keyword"> const</span></div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;                <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* node = attributeSet.Find( name );</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;                <span class="keywordflow">if</span> ( !node )</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;                        <span class="keywordflow">return</span> TIXML_NO_ATTRIBUTE;</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;                *outValue = node-&gt;ValueStr();</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;                <span class="keywordflow">return</span> TIXML_SUCCESS;</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;        }</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span> * _value );</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="preprocessor"></span>        <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> std::string&amp; name ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* i ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;        <span class="keyword">const</span> std::string* <a class="code" href="classTiXmlElement.html#ac1e4691e9375ba4e665dce7e46a50a9c">Attribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* d ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#aea0bfe471380f281c5945770ddbf52b9">QueryIntAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlElement.html#a898d7730ecc341f0bffc7a9dadbf1ce7" title="QueryDoubleAttribute examines the attribute - see QueryIntAttribute().">QueryDoubleAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span>* _value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; _value );</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">int</span> _value );</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a>( <span class="keyword">const</span> std::string&amp; name, <span class="keywordtype">double</span> value );</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#abf0b3bd7f0e4c746a89ec6e7f101fc32">SetAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">int</span> value );</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;</div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a0d1dd975d75496778177e35abfe0ec0b">SetDoubleAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <span class="keywordtype">double</span> value );</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * name );</div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="preprocessor">    #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="preprocessor"></span>        <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">RemoveAttribute</a>( <span class="keyword">const</span> std::string&amp; name ) {       <a class="code" href="classTiXmlElement.html#a56979767deca794376b1dfa69a525b2a">RemoveAttribute</a> (name.c_str ());        }       </div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01084"></a><span class="lineno"><a class="code" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592"> 1084</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592" title="Access the first attribute in this element.">FirstAttribute</a>()<span class="keyword"> const    </span>{ <span class="keywordflow">return</span> attributeSet.First(); }                </div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a516054c9073647d6cb29b6abe9fa0592" title="Access the first attribute in this element.">FirstAttribute</a>()                                { <span class="keywordflow">return</span> attributeSet.First(); }</div>
<div class="line"><a name="l01086"></a><span class="lineno"><a class="code" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381"> 1086</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381" title="Access the last attribute in this element.">LastAttribute</a>()<span class="keyword">   const   </span>{ <span class="keywordflow">return</span> attributeSet.Last(); }         </div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* <a class="code" href="classTiXmlElement.html#a86191b49f9177be132b85b14655f1381" title="Access the last attribute in this element.">LastAttribute</a>()                                 { <span class="keywordflow">return</span> attributeSet.Last(); }</div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlElement.html#aa6dedd8a146acf3b1bc0903deb2d411a">GetText</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;</div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlElement.html#a13f6df105ebb1e8dc636e75cc883be32" title="Creates a new Element and returns it - the returned element is a copy.">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;        <span class="comment">// Print the Element to a FILE stream.</span></div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlElement.html#ad9d0c008866982ab8d9aafae7e14d692">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;</div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;        <span class="comment">/*      Attribtue parsing starts: next char past &#39;&lt;&#39;</span></div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="comment">                                                 returns: next char past &#39;&gt;&#39;</span></div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;</div>
<div class="line"><a name="l01133"></a><span class="lineno"><a class="code" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c"> 1133</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>*     <a class="code" href="classTiXmlElement.html#ac5b8d0e25fa23fd9acbb6d146082901c" title="Cast to a more defined type. Will return null not of the requested type.">ToElement</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01134"></a><span class="lineno"><a class="code" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a"> 1134</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>*           <a class="code" href="classTiXmlElement.html#a9def86337ea7a755eb41cac980f60c7a" title="Cast to a more defined type. Will return null not of the requested type.">ToElement</a>()               { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;</div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlElement.html#a31ab28cc3b892a69254391d6bbe08df3">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;        <span class="keywordtype">void</span> ClearThis();       <span class="comment">// like clear, but initializes &#39;this&#39; object as well</span></div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;        <span class="comment">// Used to be public [internal use]</span></div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;<span class="preprocessor"></span>        <span class="comment">/*      [internal use]</span></div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;<span class="comment">                Reads the &quot;value&quot; of the element -- another element, or text.</span></div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;<span class="comment">                This should terminate with the current end tag.</span></div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* ReadValue( <span class="keyword">const</span> <span class="keywordtype">char</span>* in, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* prevData, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;        <a class="code" href="classTiXmlAttributeSet.html">TiXmlAttributeSet</a> attributeSet;</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;};</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;</div>
<div class="line"><a name="l01162"></a><span class="lineno"><a class="code" href="classTiXmlComment.html"> 1162</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlComment.html">TiXmlComment</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;{</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01166"></a><span class="lineno"><a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7"> 1166</a></span>&#160;        <a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7" title="Constructs an empty comment.">TiXmlComment</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_COMMENT ) {}</div>
<div class="line"><a name="l01168"></a><span class="lineno"><a class="code" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47"> 1168</a></span>&#160;        <a class="code" href="classTiXmlComment.html#a37e7802ef17bc03ebe5ae79bf0713d47" title="Construct a comment from text.">TiXmlComment</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _value ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_COMMENT ) {</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;                <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( _value );</div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;        }</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;        <a class="code" href="classTiXmlComment.html#aaa3252031d3e8bd3a2bf51a1c61201b7" title="Constructs an empty comment.">TiXmlComment</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; );</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;        <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; base );</div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlComment.html">TiXmlComment</a>() {}</div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlComment.html#a4f6590c9c9a2b63a48972655b78eb853" title="Returns a copy of this Comment.">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;        <span class="comment">// Write this Comment to a FILE stream.</span></div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlComment.html#a17398061d62c470f57801ce28fa33ad4">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;</div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;        <span class="comment">/*      Attribtue parsing starts: at the ! of the !--</span></div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;<span class="comment">                                                 returns: next char past &#39;&gt;&#39;</span></div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;</div>
<div class="line"><a name="l01186"></a><span class="lineno"><a class="code" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0"> 1186</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>*  <a class="code" href="classTiXmlComment.html#a00fb4215c20a2399ea05ac9b9e7e68a0" title="Cast to a more defined type. Will return null not of the requested type.">ToComment</a>()<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01187"></a><span class="lineno"><a class="code" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df"> 1187</a></span>&#160;        <span class="keyword">virtual</span>           <a class="code" href="classTiXmlComment.html">TiXmlComment</a>*  <a class="code" href="classTiXmlComment.html#acc7c7e07e13c23f17797d642981511df" title="Cast to a more defined type. Will return null not of the requested type.">ToComment</a>()            { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlComment.html#a4382de0e50da973f11a23ea5852568bd">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;</div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlComment.html">TiXmlComment</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;</div>
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;        <span class="comment">// used to be public</span></div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;<span class="preprocessor"></span><span class="comment">//      virtual void StreamOut( TIXML_OSTREAM * out ) const;</span></div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;</div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;</div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;};</div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div>
<div class="line"><a name="l01212"></a><span class="lineno"><a class="code" href="classTiXmlText.html"> 1212</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlText.html">TiXmlText</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;{</div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTiXmlElement.html">TiXmlElement</a>;</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01220"></a><span class="lineno"><a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960"> 1220</a></span>&#160;        <a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * initValue ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_TEXT)</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;        {</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;                <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( initValue );</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;                cdata = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;        }</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlText.html">TiXmlText</a>() {}</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;</div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;        <a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a>( <span class="keyword">const</span> std::string&amp; initValue ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a> (<a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_TEXT)</div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;        {</div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;                <a class="code" href="classTiXmlNode.html#a2a38329ca5d3f28f98ce932b8299ae90">SetValue</a>( initValue );</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;                cdata = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;        }</div>
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;        <a class="code" href="classTiXmlText.html#af659e77c6b87d684827f35a8f4895960">TiXmlText</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_TEXT )       { copy.CopyTo( <span class="keyword">this</span> ); }</div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;        <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; base )                                                           { base.CopyTo( <span class="keyword">this</span> ); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;        <span class="comment">// Write this text object to a FILE stream.</span></div>
<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#ae74d56c5b3ddec6cc3103dd51821af92">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;</div>
<div class="line"><a name="l01243"></a><span class="lineno"><a class="code" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586"> 1243</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#ad1a6a6b83fa2271022dd97c072a2b586" title="Queries whether this represents text using a CDATA section.">CDATA</a>()<span class="keyword"> const                              </span>{ <span class="keywordflow">return</span> cdata; }</div>
<div class="line"><a name="l01245"></a><span class="lineno"><a class="code" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9"> 1245</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlText.html#acb17ff7c5d09b2c839393445a3de5ea9" title="Turns on or off a CDATA representation of text.">SetCDATA</a>( <span class="keywordtype">bool</span> _cdata )    { cdata = _cdata; }</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;</div>
<div class="line"><a name="l01249"></a><span class="lineno"><a class="code" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648"> 1249</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlText.html#a895bf34ffad17f7439ab2a52b9651648" title="Cast to a more defined type. Will return null not of the requested type.">ToText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01250"></a><span class="lineno"><a class="code" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b"> 1250</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>*       <a class="code" href="classTiXmlText.html#ae7c3a8fd3e4dbf6c0c4363a943d72f5b" title="Cast to a more defined type. Will return null not of the requested type.">ToText</a>()       { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;</div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlText.html#a43b9954ebf679557fac1a4453f337b7c">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;<span class="keyword">protected</span> :</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlText.html#adde1869dfb029be50713fbfd8ce4d21f" title="[internal use] Creates a new Element and returns it.">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlText.html">TiXmlText</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;        <span class="keywordtype">bool</span> Blank() <span class="keyword">const</span>;     <span class="comment">// returns true if all white space and new lines</span></div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;        <span class="comment">// [internal use]</span></div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;        <span class="keywordtype">bool</span> cdata;                     <span class="comment">// true if this should be input and output as a CDATA style text element</span></div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;};</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;</div>
<div class="line"><a name="l01285"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html"> 1285</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;{</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01289"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79"> 1289</a></span>&#160;        <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>()   : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>::TINYXML_DECLARATION ) {}</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;<span class="preprocessor">#ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;        <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>(       <span class="keyword">const</span> std::string&amp; _version,</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;                                                <span class="keyword">const</span> std::string&amp; _encoding,</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;                                                <span class="keyword">const</span> std::string&amp; _standalone );</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;        <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>(       <span class="keyword">const</span> <span class="keywordtype">char</span>* _version,</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;                                                <span class="keyword">const</span> <span class="keywordtype">char</span>* _encoding,</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;                                                <span class="keyword">const</span> <span class="keywordtype">char</span>* _standalone );</div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;        <a class="code" href="classTiXmlDeclaration.html#aa0484d059bea0ea1acb47c9094382d79" title="Construct an empty declaration.">TiXmlDeclaration</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; copy );</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;        <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; copy );</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>()     {}</div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;</div>
<div class="line"><a name="l01309"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76"> 1309</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a02ee557b1a4545c3219ed377c103ec76" title="Version. Will return an empty string if none was found.">Version</a>()<span class="keyword"> const                     </span>{ <span class="keywordflow">return</span> version.c_str (); }</div>
<div class="line"><a name="l01311"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76"> 1311</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a5d974231f9e9a2f0542f15f3a46cdb76" title="Encoding. Will return an empty string if none was found.">Encoding</a>()<span class="keyword"> const            </span>{ <span class="keywordflow">return</span> encoding.c_str (); }</div>
<div class="line"><a name="l01313"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9"> 1313</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTiXmlDeclaration.html#a9ff06afc033d7ef730ec7c6825b97ad9" title="Is this a standalone document?">Standalone</a>()<span class="keyword"> const          </span>{ <span class="keywordflow">return</span> standalone.c_str (); }</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;</div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlDeclaration.html#aff8231266d735943d8a7514a9c9822b9" title="Creates a copy of this Declaration and returns it.">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;        <span class="comment">// Print this declaration to a FILE stream.</span></div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> Print( FILE* cfile, <span class="keywordtype">int</span> depth, TIXML_STRING* str ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01319"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4"> 1319</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDeclaration.html#abf6303db4bd05b5be554036817ff1cb4">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth )<span class="keyword"> const </span>{</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;                Print( cfile, depth, 0 );</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;        }</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;</div>
<div class="line"><a name="l01325"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967"> 1325</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* <a class="code" href="classTiXmlDeclaration.html#a1e085d3fefd1dbf5ccdbff729931a967" title="Cast to a more defined type. Will return null not of the requested type.">ToDeclaration</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01326"></a><span class="lineno"><a class="code" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce"> 1326</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>*       <a class="code" href="classTiXmlDeclaration.html#a6bd3d1daddcaeb9543c24bfd090969ce" title="Cast to a more defined type. Will return null not of the requested type.">ToDeclaration</a>()       { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;</div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDeclaration.html#ab6a6b178161ba9abc2c35058de689864">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* visitor ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;</div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;        <span class="comment">// used to be public</span></div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;        TIXML_STRING version;</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;        TIXML_STRING encoding;</div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;        TIXML_STRING standalone;</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;};</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;</div>
<div class="line"><a name="l01354"></a><span class="lineno"><a class="code" href="classTiXmlUnknown.html"> 1354</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;{</div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;        <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>() : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( TiXmlNode::TINYXML_UNKNOWN )        {}</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>() {}</div>
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;</div>
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;        <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; copy ) : <a class="code" href="classTiXmlNode.html">TiXmlNode</a>( TiXmlNode::TINYXML_UNKNOWN )              { copy.CopyTo( <span class="keyword">this</span> ); }</div>
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;        <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; copy )                                                                             { copy.CopyTo( <span class="keyword">this</span> ); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;</div>
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlUnknown.html#a675c4b2684af35e4c7649b7fd5ae598d" title="Creates a copy of this Unknown and returns it.">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;        <span class="comment">// Print this Unknown to a FILE stream.</span></div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlUnknown.html#a025f19c21ef01ea9be50febb8fe0ba06">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* Parse( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;</div>
<div class="line"><a name="l01370"></a><span class="lineno"><a class="code" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d"> 1370</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>*     <a class="code" href="classTiXmlUnknown.html#ab0313e5fe77987d746ac1a97a254419d" title="Cast to a more defined type. Will return null not of the requested type.">ToUnknown</a>()<span class="keyword">     const   </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01371"></a><span class="lineno"><a class="code" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c"> 1371</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>*           <a class="code" href="classTiXmlUnknown.html#a67c9fd22940e8c47f706a72cdd2e332c" title="Cast to a more defined type. Will return null not of the requested type.">ToUnknown</a>()                             { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;</div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlUnknown.html#a4e54d7482e05a837cf83c925cc683380">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;</div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;};</div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;</div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;</div>
<div class="line"><a name="l01393"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html"> 1393</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlDocument.html">TiXmlDocument</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a></div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;{</div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;        <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>();</div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;        <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * documentName );</div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;</div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;        <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>( <span class="keyword">const</span> std::string&amp; documentName );</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;        <a class="code" href="classTiXmlDocument.html#a9f5e84335708fde98400230f9f12659c" title="Create an empty document, that has no name.">TiXmlDocument</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; copy );</div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;        <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; copy );</div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>() {}</div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * filename ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( FILE* ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;<span class="preprocessor"></span>        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( <span class="keyword">const</span> std::string&amp; filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )                   </div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;        {</div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#a4c852a889c02cf251117fd1d9fe1845f">LoadFile</a>( filename.c_str(), encoding );</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;        }</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( <span class="keyword">const</span> std::string&amp; filename ) <span class="keyword">const</span>              </div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;        {</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="classTiXmlDocument.html#a21c0aeb0d0a720169ad4ac89523ebe93" title="Save a file using the current document value. Returns true if successful.">SaveFile</a>( filename.c_str() );</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;        }</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlDocument.html#a789ad2f06f93d52bdb5570b2f3670289">Parse</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* p, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );</div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;</div>
<div class="line"><a name="l01452"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be"> 1452</a></span>&#160;        <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">RootElement</a>()<span class="keyword"> const         </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>(); }</div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlDocument.html#ad09d17927f908f40efb406af2fb873be">RootElement</a>()                                     { <span class="keywordflow">return</span> <a class="code" href="classTiXmlNode.html#ab1f8d8e70d88aea4c5efedfe00862d55" title="Convenience function to get through elements.">FirstChildElement</a>(); }</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;</div>
<div class="line"><a name="l01460"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29"> 1460</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a6dfc01a6e5d58e56acd537dfd3bdeb29">Error</a>()<span class="keyword"> const                                              </span>{ <span class="keywordflow">return</span> error; }</div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;</div>
<div class="line"><a name="l01463"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e"> 1463</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTiXmlDocument.html#a9d0f689f6e09ea494ea547be8d79c25e" title="Contains a textual (english) description of the error if one occurs.">ErrorDesc</a>()<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> errorDesc.c_str (); }</div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;</div>
<div class="line"><a name="l01468"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f"> 1468</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#af96fc2f3f9ec6422782bfe916c9e778f">ErrorId</a>()<span class="keyword">   const                           </span>{ <span class="keywordflow">return</span> errorId; }</div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;</div>
<div class="line"><a name="l01477"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e"> 1477</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#af30efc75e804aa2e92fb8be3a8cb676e">ErrorRow</a>()<span class="keyword"> const    </span>{ <span class="keywordflow">return</span> errorLocation.row+1; }</div>
<div class="line"><a name="l01478"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649"> 1478</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classTiXmlDocument.html#aa90bc630ee5203c6109ca5fad3323649" title="The column where the error occured. See ErrorRow()">ErrorCol</a>()<span class="keyword"> const    </span>{ <span class="keywordflow">return</span> errorLocation.col+1; } </div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;</div>
<div class="line"><a name="l01504"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e"> 1504</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#a51dac56316f89b35bdb7d0d433ba988e">SetTabSize</a>( <span class="keywordtype">int</span> _tabsize )         { tabsize = _tabsize; }</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;</div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;        <span class="keywordtype">int</span> TabSize()<span class="keyword"> const     </span>{ <span class="keywordflow">return</span> tabsize; }</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;</div>
<div class="line"><a name="l01511"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35"> 1511</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#ac66b8c28db86363315712a3574e87c35">ClearError</a>()                                               {       error = <span class="keyword">false</span>; </div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;                                                                                                errorId = 0; </div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;                                                                                                errorDesc = <span class="stringliteral">&quot;&quot;</span>; </div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;                                                                                                errorLocation.row = errorLocation.col = 0; </div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;                                                                                                <span class="comment">//errorLocation.last = 0; </span></div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;                                                                                        }</div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;</div>
<div class="line"><a name="l01519"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510"> 1519</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">Print</a>()<span class="keyword"> const                                              </span>{ <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">Print</a>( stdout, 0 ); }</div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;        <span class="comment">/* Write the document to a string using formatted printing (&quot;pretty print&quot;). This</span></div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;<span class="comment">                will allocate a character array (new char[]) and return it as a pointer. The</span></div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;<span class="comment">                calling code pust call delete[] on the return char* to avoid a memory leak.</span></div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;<span class="comment">        */</span></div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;        <span class="comment">//char* PrintToMemory() const; </span></div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;</div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTiXmlDocument.html#af08389ec70ee9b2de7f800e206a18510">Print</a>( FILE* cfile, <span class="keywordtype">int</span> depth = 0 ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;        <span class="comment">// [internal use]</span></div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;        <span class="keywordtype">void</span> SetError( <span class="keywordtype">int</span> err, <span class="keyword">const</span> <span class="keywordtype">char</span>* errorLocation, <a class="code" href="classTiXmlParsingData.html">TiXmlParsingData</a>* prevData, TiXmlEncoding encoding );</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div>
<div class="line"><a name="l01532"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4"> 1532</a></span>&#160;        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*    <a class="code" href="classTiXmlDocument.html#a1dc977bde3e4fe85a8eb9d88a35ef5a4" title="Cast to a more defined type. Will return null not of the requested type.">ToDocument</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01533"></a><span class="lineno"><a class="code" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42"> 1533</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>*          <a class="code" href="classTiXmlDocument.html#a1025d942a1f328fd742d545e37efdd42" title="Cast to a more defined type. Will return null not of the requested type.">ToDocument</a>()          { <span class="keywordflow">return</span> <span class="keyword">this</span>; } </div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlDocument.html#a3daab2f472418ef66315750202f762ae">Accept</a>( <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a>* content ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;</div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;<span class="keyword">protected</span> :</div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;        <span class="comment">// [internal use]</span></div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlDocument.html#ac9e8f09b23454d953b32d1b65cd1409e">Clone</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;<span class="preprocessor"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span> StreamIn( std::istream * in, TIXML_STRING * tag );</div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        <span class="keywordtype">void</span> CopyTo( <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>* target ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;</div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;        <span class="keywordtype">bool</span> error;</div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;        <span class="keywordtype">int</span>  errorId;</div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;        TIXML_STRING errorDesc;</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;        <span class="keywordtype">int</span> tabsize;</div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;        <a class="code" href="structTiXmlCursor.html">TiXmlCursor</a> errorLocation;</div>
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;        <span class="keywordtype">bool</span> useMicrosoftBOM;           <span class="comment">// the UTF-8 BOM were found when read. Note this, and try to write.</span></div>
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;};</div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;</div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;</div>
<div class="line"><a name="l01638"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html"> 1638</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlHandle.html">TiXmlHandle</a></div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;{</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01642"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8"> 1642</a></span>&#160;        <a class="code" href="classTiXmlHandle.html#aba18fd7bdefb942ecdea4bf4b8e29ec8" title="Create a handle from any node (at any depth of the tree.) This can be a null pointer.">TiXmlHandle</a>( <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* _node )                                 { this-&gt;node = _node; }</div>
<div class="line"><a name="l01644"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7"> 1644</a></span>&#160;        <a class="code" href="classTiXmlHandle.html#a236d7855e1e56ccc7b980630c48c7fd7" title="Copy constructor.">TiXmlHandle</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a>&amp; ref )                   { this-&gt;node = ref.node; }</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> operator=( <span class="keyword">const</span> <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a>&amp; ref ) { <span class="keywordflow">if</span> ( &amp;ref != <span class="keyword">this</span> ) this-&gt;node = ref.node; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * value ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* value, <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;<span class="preprocessor"></span>        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const                               </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#acdb1faaf88a700b40ca2c8d9aee21139" title="Return a handle to the first child node.">FirstChild</a>( _value.c_str() ); }</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( <span class="keyword">const</span> std::string&amp; _value )<span class="keyword"> const                </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a24d1112e995e937e4dddb202d4113d4a" title="Return a handle to the first child element.">FirstChildElement</a>( _value.c_str() ); }</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a072492b4be1acdb0db2d03cd8f71ccc4">Child</a>( _value.c_str(), index ); }</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;        <a class="code" href="classTiXmlHandle.html">TiXmlHandle</a> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a>( <span class="keyword">const</span> std::string&amp; _value, <span class="keywordtype">int</span> index )<span class="keyword"> const  </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a979a3f850984a176ee884e394c7eed2d">ChildElement</a>( _value.c_str(), index ); }</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01685"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3"> 1685</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">ToNode</a>()<span class="keyword"> const                       </span>{ <span class="keywordflow">return</span> node; } </div>
<div class="line"><a name="l01688"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e"> 1688</a></span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>()<span class="keyword"> const         </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToElement() ) ? node-&gt;ToElement() : 0 ); }</div>
<div class="line"><a name="l01691"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586"> 1691</a></span>&#160;        <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">ToText</a>()<span class="keyword"> const                       </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToText() ) ? node-&gt;ToText() : 0 ); }</div>
<div class="line"><a name="l01694"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674"> 1694</a></span>&#160;        <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">ToUnknown</a>()<span class="keyword"> const         </span>{ <span class="keywordflow">return</span> ( ( node &amp;&amp; node-&gt;ToUnknown() ) ? node-&gt;ToUnknown() : 0 ); }</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;</div>
<div class="line"><a name="l01699"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376"> 1699</a></span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* <a class="code" href="classTiXmlHandle.html#ab44b723a8dc9af72838a303c079d0376">Node</a>()<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#af678e5088e83be67baf76f699756f2c3">ToNode</a>(); } </div>
<div class="line"><a name="l01703"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7"> 1703</a></span>&#160;        <a class="code" href="classTiXmlElement.html">TiXmlElement</a>* <a class="code" href="classTiXmlHandle.html#acb5fe8388a526289ea65e817a51e05e7">Element</a>()<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#abc6e7ed383a5fe1e52b0c0004b457b9e">ToElement</a>(); }</div>
<div class="line"><a name="l01707"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13"> 1707</a></span>&#160;        <a class="code" href="classTiXmlText.html">TiXmlText</a>* <a class="code" href="classTiXmlHandle.html#a9fc739c8a18d160006f82572fc143d13">Text</a>()<span class="keyword"> const                 </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a4ac53a652296203a5b5e13854d923586">ToText</a>(); }</div>
<div class="line"><a name="l01711"></a><span class="lineno"><a class="code" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465"> 1711</a></span>&#160;        <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>* <a class="code" href="classTiXmlHandle.html#a49675b74357ba2aae124657a9a1ef465">Unknown</a>()<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> <a class="code" href="classTiXmlHandle.html#a1381c17507a130767b1e23afc93b3674">ToUnknown</a>(); }</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;        <a class="code" href="classTiXmlNode.html">TiXmlNode</a>* node;</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;};</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;</div>
<div class="line"><a name="l01737"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html"> 1737</a></span>&#160;<span class="keyword">class </span><a class="code" href="classTiXmlPrinter.html">TiXmlPrinter</a> : <span class="keyword">public</span> <a class="code" href="classTiXmlVisitor.html">TiXmlVisitor</a></div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;{</div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;        <a class="code" href="classTiXmlPrinter.html">TiXmlPrinter</a>() : depth( 0 ), simpleTextPrint( <span class="keyword">false</span> ),</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;                                         buffer(), indent( <span class="stringliteral">&quot;    &quot;</span> ), lineBreak( <span class="stringliteral">&quot;\n&quot;</span> ) {}</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a2ec73087db26ff4d2c4316c56f861db7" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; doc );</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a0a636046fa589b6d7f3e5bd025b3f33e" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDocument.html">TiXmlDocument</a>&amp; doc );</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a2ec73087db26ff4d2c4316c56f861db7" title="Visit a document.">VisitEnter</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; element, <span class="keyword">const</span> <a class="code" href="classTiXmlAttribute.html">TiXmlAttribute</a>* firstAttribute );</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#a0a636046fa589b6d7f3e5bd025b3f33e" title="Visit a document.">VisitExit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlElement.html">TiXmlElement</a>&amp; element );</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;</div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#adaf7eec4dc43ad071ff52b60361574f5" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlDeclaration.html">TiXmlDeclaration</a>&amp; declaration );</div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#adaf7eec4dc43ad071ff52b60361574f5" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlText.html">TiXmlText</a>&amp; text );</div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#adaf7eec4dc43ad071ff52b60361574f5" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlComment.html">TiXmlComment</a>&amp; comment );</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classTiXmlPrinter.html#adaf7eec4dc43ad071ff52b60361574f5" title="Visit a declaration.">Visit</a>( <span class="keyword">const</span> <a class="code" href="classTiXmlUnknown.html">TiXmlUnknown</a>&amp; unknown );</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;</div>
<div class="line"><a name="l01757"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e"> 1757</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a213377a4070c7e625bae59716b089e5e">SetIndent</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _indent )                   { indent = _indent ? _indent : <span class="stringliteral">&quot;&quot;</span> ; }</div>
<div class="line"><a name="l01759"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d"> 1759</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#abb33ec7d4bad6aaeb57f4304394b133d" title="Query the indention string.">Indent</a>()                                                    { <span class="keywordflow">return</span> indent.c_str(); }</div>
<div class="line"><a name="l01764"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6"> 1764</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#a4be1e37e69e3858c59635aa947174fe6">SetLineBreak</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* _lineBreak )             { lineBreak = _lineBreak ? _lineBreak : <span class="stringliteral">&quot;&quot;</span>; }</div>
<div class="line"><a name="l01766"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d"> 1766</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a11f1b4804a460b175ec244eb5724d96d" title="Query the current line breaking string.">LineBreak</a>()                                                 { <span class="keywordflow">return</span> lineBreak.c_str(); }</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;</div>
<div class="line"><a name="l01771"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19"> 1771</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classTiXmlPrinter.html#ab23a90629e374cb1cadca090468bbd19">SetStreamPrinting</a>()                                                { indent = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;                                                                                                          lineBreak = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;                                                                                                        }       </div>
<div class="line"><a name="l01775"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e"> 1775</a></span>&#160;        <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTiXmlPrinter.html#a859eede9597d3e0355b77757be48735e" title="Return the result.">CStr</a>()                                                              { <span class="keywordflow">return</span> buffer.c_str(); }</div>
<div class="line"><a name="l01777"></a><span class="lineno"><a class="code" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d"> 1777</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="classTiXmlPrinter.html#ad01375ae9199bd2f48252eaddce3039d" title="Return the length of the result string.">Size</a>()                                                                   { <span class="keywordflow">return</span> buffer.size(); }</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;<span class="preprocessor">        #ifdef TIXML_USE_STL</span></div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;        <span class="keyword">const</span> std::string&amp; Str()                                                { <span class="keywordflow">return</span> buffer; }</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;<span class="preprocessor">        #endif</span></div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;        <span class="keywordtype">void</span> DoIndent() {</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;                <span class="keywordflow">for</span>( <span class="keywordtype">int</span> i=0; i&lt;depth; ++i )</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;                        buffer += indent;</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;        }</div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;        <span class="keywordtype">void</span> DoLineBreak() {</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;                buffer += lineBreak;</div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;        }</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;        <span class="keywordtype">int</span> depth;</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;        <span class="keywordtype">bool</span> simpleTextPrint;</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;        TIXML_STRING buffer;</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;        TIXML_STRING indent;</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;        TIXML_STRING lineBreak;</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;};</div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;</div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning( pop )</span></div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generado por &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1
</small></address>
</body>
</html>
